Hypertext Transfer Protocol (HTTP) Live Streaming (HLS) is a HTTP-based media streaming communications protocol that involves breaking the media stream into a sequence of file downloads. Each file may be downloaded as one portion of a transport stream. Each downloaded file may be played in sequence to present a continuous media stream. As a given stream is played, the client may choose from multiple different alternative streams containing the same content encoded at various data rates. At the beginning of a streaming session, the client downloads a playlist file that specifies the different or alternate streams that are available.
In HLS, a given multimedia presentation is specified by a Uniform Resource Identifier (URI) to the playlist file, which itself consists of an ordered list of media URIs and informational tags. Each media URI refers to a media file that is a segment of a single continuous media stream. To play a stream, a client first obtains the playlist file and then obtains and plays each media file in the playlist in sequence.
Content assets such as, for example, video content assets (e.g., movies) may be streamed using HLS from a content delivery network (CDN) to a client device for playback of the sequence of HLS files at the client device. Users at the client devices may search the content assets hosted by the content delivery network to obtain lists of assets that are relevant to the expressed interests of the users. From those lists, the users may select a specific asset(s) that they desire to have streamed to their client device.